A Declarative Language for Parallel Programming

نویسنده

  • Mauro Gaspari
چکیده

The use of logic as a programming tool has achieved a significant impact in software engineering, especially in the early stages of the software development process to support fast prototyping and early verification of costumers requirements. Logic programming languages allow the programmer to encode the costumer needs into logic programs which intuitively (declaratively) represent the requirements of the application and which are immediately executable applying deduction in the underlying logic formalism. Unfortunately this feature does not scale to parallel applications when mechanisms to explicitly manage synchronization and communication are introduced in logic programming languages. In fact these mechanisms endanger one of the main attractive feature of this paradigm: the declarative reading of programs. Although several extensions of logic programming with explicit communication primitives have been proposed a successful language, has not yet been invented, and the design of a really declarative parallel language is still an open issue. In this paper we address this issue trying to individuate a communication mechanism that can naturally be embedded in logic programming. As a result of this research we present Gammalog, a parallel logic language which combines the ability of describing communication by transformation rules on a shared-dataspace, with the execution model of logic programming. The main feature of Gammalog is that it provides an enhancement with respect to other parallel logic languages concerning the declarative reading of programs. Moreover a distributed implementation running on a workstation cluster shows that Gammalog can be efficiently executed on a general purpose architecture. This good balance between declarative features and implementability issues makes Gammalog a promising successful language for parallel programming in logic. 1. Department of Computer Science, University of Bologna, Via Mura Anteo Zamboni, 7, 40127 Bologna, Italy.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Declarative Semantics in Object-Oriented Software Development - A Taxonomy and Survey

One of the modern paradigms to develop an application is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles in applications. In an application, we must distinguish between procedural semantics and declarative semantics for their implementation in a specific programming language. For the procedural semantics, we can write a ...

متن کامل

Design and Implementation of a Declarative Data-Parallel Language

Figure 1 proposes a classification of the various expressions of parallelism in programming languages. Such a framework is required for the analysis of existing languages and the development of a new one. We propose to mimic the Flynn classification of parallel architectures [FLY 72] and to compare parallel languages constructs following of two criteria: the way they let the programmer express ...

متن کامل

A data-parallel declarative language for the simulation of large dynamical systems and its compilation

81/2 is a declarative data-parallel language designed for the simulation of large dynamical systems. Such simulations are of growing importance and they requires more and more computing power. In consequence, 81/2 introduces a new entity, the web, that combines features of collection-oriented and data-flow language to express data-, streamand control-parallelism. In this paper, we present the l...

متن کامل

I+: A Multiparadigm Language for Object-Oriented Declarative Programming

This paper presents a multiparadigm language I+ which is an integration of the three major programming paradigms: object-oriented, logic and functional. I+ has an object-oriented framework in which the notions of classes, objects, methods, inheritance and message passing are supported. Methods may be specified as clauses or functions, thus the two declarative paradigms are incorporated at the m...

متن کامل

Contribution to Semantics of a Data-Parallel Logic Programming Language

We propose an alternate approach to the usual introduction of parallelism in logic programming. Instead of detecting the intrinsic parallelism by an automatic and complex data-ow analysis, or upgrading standard logic languages by explicit concurrent control structures leading to task-oriented languages, we tightly integrate the concepts of the data-parallel programming model and of logic progra...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2000